////////////////////////////////////////////////////////////////////////////////\

#ifndef _MATHUTILS_H_
#define _MATHUTILS_H_

////////////////////////////////////////////////////////////////////////////////\

#include "box2d.h"

////////////////////////////////////////////////////////////////////////////////


/** Minimal precision */
const double _E = 0.000000001;


////////////////////////////////////////////////////////////////////////////////


float VectorLength( const Point& _v )
{
    return pow((_v.x * _v.x + _v.y * _v.y), 0.5f);
}


////////////////////////////////////////////////////////////////////////////////


Vector GetDirection( const Vector& _v )
{
    float len = VectorLength(_v);

    Point dir(0.0, 0.0);

    if (abs(len) > _E)
    {
        dir.x = _v.x / len;
        dir.y = _v.y / len;
    }

    return dir;
}


////////////////////////////////////////////////////////////////////////////////

#endif
